home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Wissenschaft & Technik / Object Plant ƒ / 68k Object Plant / 68k Object Plant.rsrc / TEXT_178_Help text.txt < prev    next >
Text File  |  1997-02-27  |  13KB  |  433 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. 1. Introduction    
  7. The Object Plant gives you the opportunity to create three different kinds of descriptions of a software
  8. system.
  9.  
  10. The notation is based upon the Object Modeling Technique (OMT) developed by Rumbaugh et al and
  11. UML (Unified Modelling Language) developed by Rumbaugh, Booch and Jacobson. This help text
  12. will only refer to OMT notation.
  13.  
  14. This is not a complete description of the program, refer to the User's Manual for more information.
  15.  
  16.  
  17. 1.1 The Object Model    
  18.  
  19. "An object model captures the static structure of a system by showing the objects in the system, relation-
  20. ships between the objects, and the attributes and operations which characterize each class of objects."
  21.  
  22. The Object Plant allows you to create Object Model diagrams, where you can model classes, interfaces, 
  23. associations, generalizations and aggregations. The Object Model diagram can be split into several pages,
  24. each page representing a part of a system.
  25.  
  26. The picture below shows an example of an Object Model diagram.
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. 1.2 The Dynamic Model    
  43.  
  44. "The major dynamic modeling concepts are events, which represent external stimuli, and states, which
  45. represent values of objects"
  46.  
  47. The Object Plant allows you to create Event Trace diagrams and State diagrams. Each of them can be
  48. divided into several pages much like the Object Model diagram.
  49.  
  50. Substates will eventually be provided, but the current version does not support substates.
  51.  
  52. The picture below shows an example of an Event Trace diagram.
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. A thread is normally an object in the software system. The boxes on a thread shows when the object is active.
  71. Events can either be function calls, queue messages or some other way of communication.
  72.  
  73.  
  74. 2. Object Model Diagram    
  75.  
  76. The Object Model Toolbox contains ten different tools:
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. 2.1 Select Tool    
  90. The select tool is used to select one or several of the items in an Object Model page. There are only two types
  91. of items in an Object Model page, class items and association items, where association items may be of the
  92. Aggregation, Association or Generalization type.
  93.  
  94. To select one item click on the item. A selected item is marked by a set of small black squares positioned at
  95. the corners of the item.
  96.  
  97. To select several items, one may either shift-click the items or framing a set of items by holding the mouse
  98. button down while stretching a select frame.
  99.  
  100. The select tool is also used to move items. If you hold the mouse button down when selecting a class, the
  101. cursor will after will change to a move cursor ¬†   . You may then move the selected items freely. If you hold
  102. the mouse button down when selecting an association, the move cursor will appear only if the cursor is
  103. positioned above a black select square. If you then move the mouse, that point of the association will move.
  104.  
  105. The select tool is used to created subsystems. This is done by doubleclicking on a class box while pressing
  106. the option-key. The top level class box will then be drawn with a dashed outline to indicate that it is a sub-
  107. system and not a real class. A new page for the subsystem will automatically be created and the page will
  108. have the name of the "parent-class". In the page palette, the name of subsystems will be indented relative
  109. its parent.
  110.  
  111.  
  112.  
  113. 2.2 Class Tool    
  114. The Class Tool is used to create class items in the Object Model. Not much to say about this tool...
  115.  
  116.  
  117. 2.3 Interface Tool    
  118. The Interface Tool is used to create interface items in the Object Model. Interfaces are not supported in
  119. the OMT notation but Unified Modeling Language supports interfaces.
  120.  
  121.  
  122. 2.4 Supplier Tool    
  123. The Supplier Tool is used to create an supplier association between a class and an interface (a class
  124. supplies an interface). When this tool is selected the cursor will change into the association cursor¬†  .
  125.  
  126. Position the cursor at a class, press and hold the button and stretch a line to the interface and then release
  127. the button.
  128.  
  129. If you release the button outside any class item, no association will be created.
  130.  
  131.  
  132. 2.5 Association Tool    
  133. The Association Tool is used to create an Association between two classes. When this tool is selected the
  134. cursor will change into the association cursor.
  135.  
  136. Position the cursor at a class, press and hold the button and stretch a line to the other class and then release
  137. the button. If you want a selfreferencing association, press and release the button in the same class item.
  138.  
  139.  
  140. 2.6 Aggregation Tool    
  141. The Aggregation Tool works almost the same as the Association Tool but with one difference. It is possible to
  142. create multibranch aggregations:
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153. To make a multibranch aggregation, start creating an ordinary aggregation between two classes. Add a new
  154. branch by pushing the button on the aggregation, either any of the lines or in the small diamond. Then
  155. stretch it to a class item and release the button.
  156.  
  157.  
  158. 2.7 Generalization Tool    
  159. The Generalization Tool works as the Aggregation Tool. Multibranch generalizations are possible.
  160.  
  161.  
  162. 2.8 Cut Tool    
  163. The Cut Tool can be used to split an association line into two. Position the top of the knife cursor at the line
  164. where you want it to be splitted.
  165.  
  166.  
  167. 2.9 Note Tool    
  168. You can place notes anywhere in the diagrams. In the current version, notes are not related to any
  169. particular part of a diagram, they are standalone, but in future releases they will be connected to some
  170. other item in a diagram.
  171.  
  172. A note can, for example, include pseudo code to illustrate the implementation of a class operation.
  173.  
  174.  
  175.  
  176.  
  177.  
  178. A note can be resized by selecting it and draging in any of the corner squares.
  179.  
  180. 2.10 Inspect Tool    
  181. With this tool you can read the Description field of every item (class, association etc) without having to
  182. open a dialog window for the item. Just position the magnifying glass above the item you want to study
  183. and the description text will be presented in a "balloon-ish" frame.
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194. 2.11 Nested Object Models    
  195. You can create nested models containing subsystems each of them described on a separate Object Model page.
  196. A class item can be turned into a subsystem by double-clicking on the class item with the select tool while
  197. pressing the option-key. A new page will then be opened which has the name of the class item. The name of
  198. the new page page cannot be changed, it will always have the same name as it original class.
  199.  
  200. The original class item will be drawn with a dashedout line to indicate that it is a subsystem. If you try to
  201. delete such a class, a confirmation dialog will show up. If you confirm the deletion of the class, the nested
  202. page will also be deleted.
  203.  
  204. In the page palette window, nested object model page names will be indented relative their parent names.
  205.  
  206.  
  207. 3. Event Trace    
  208.  
  209. The Event Trace Toolbox contains six different tools:
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222. 3.1 Select Tool    
  223. The select tool in the Event Trace diagram works the same way as in the Object Model diagram. The only
  224. difference it that when you move items in the Event Trace diagram the move cursor may look different.
  225. When you move threads, you can only move them sideways why the move cursor looks like this ¬†    . When
  226. you're moving boxes, you may only move them up and down why the cursor looks like this ¬†  .
  227.  
  228. You also use the select tool to change the size of threads and boxes. If you hit either end of a thread, the
  229. cursor will change to the resize cursor which looks like this ¬†  . You may then change the size of the
  230. threads. Note that all threads will change size. They always have the same height. To alter the size of a box,
  231. hit either end of the box and the cursor changes to the resize cursor. Then move the mouse to change the
  232. size of the box.
  233.  
  234. 3.2 Thread Tool    
  235. The Thread Tool is used to create thread items in the Event Trace diagram. Not much to say about this tool
  236. except that the height of a new thread is determined by the height of other threads in the diagram. All
  237. threads must always have equal heights.
  238.  
  239. 3.3 Box Tool    
  240. The Box Tool is used to create box items in the Event Trace. When you have selected this tool and moves the
  241. cursor over a thread, a hanging box will appear below the cursor. This indicates that you may create a box
  242. at the current position.
  243.  
  244. 3.4 Event Tool    
  245. The Event Tool is used to create an event between two boxes. When this tool is selected the cursor will
  246. change into the event cursor¬†  .
  247.  
  248. Position the cursor at a box, press and hold the button and stretch a line to the other box and then release
  249. the button. If you want a selfreferencing event, press and release the button in the same box item.
  250.  
  251. If you release the button outside any box item, no event will be created.
  252.  
  253. 3.5 Note & Inspect Tool    
  254. Are exactly the same as the Object Model note and inspect tool.
  255.  
  256.  
  257. 4. State Diagrams    
  258.  
  259. The State Diagram Toolbox contains eight different tools.
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272. 4.1 Select Tool    
  273. The select tool in the State Diagram works the same way as in the Object Model diagram. 
  274.  
  275. 4.2 Initial and Final State Tool    
  276. These tools can be used to insert final and initial state symbols (bull's eye and filled circle).
  277.  
  278. 4.3 Note & Inspect Tool    
  279. Are exactly the same as the Object Model note and inspect tool.
  280.  
  281.  
  282. 5. The Menus    
  283. The Object Plant has five fixed menus and two menus which appear now and then. The fixed menus are:
  284. File, Edit, View, Special and Windows.
  285.  
  286. 5.1 File Menu    
  287. When no document is open, the file menu looks like this:
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308. The New, Open, Save, Save as, Close and Quit do not require any explanation, do they?
  309.  
  310. When a document is open (note that a document may be open even though no windows are visible) the File
  311. menu looks like this:
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332. The "Document Info..." item contains two submenys: "General..." and "Datatypes...". In the General item you
  333. can select the notation to be used with the document. The Datatypes item will bring up a dialog where
  334. you can specify the data types used in the document (project). You can create your own set of data types
  335. by adding and removing data types as you like. There is one standard C++ data type set included in the Object
  336. Plant package which can be loaded using the "Load set"-button.
  337.  
  338. Here the "Export Page as..." item is used to export the current main window content in PICT or EPS format.
  339. Note that not all types of window may be exported, only the three main windows: Object Model, State
  340. Diagram and Event Trace windows.
  341.  
  342. The "Generate code..." item is used to generate code as described by the currently selected template files (in
  343. the Code generation preferences dialog).
  344.  
  345. The Print Page item will print the selected page in the currently active main window.
  346.  
  347. 5.2 Edit Menu    
  348. In this menu the Cut, Copy and Paste items are enabled and implemented for text fields. Copy and Paste are also
  349. enabled for certain items in the diagrams such as classes, states and threads. The Clear can also be used to
  350. delete parts in the Object Model, State Diagram and Event Trace diagram.
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365. The Clear item can also be used to delete class attributes and operations. To do this, doubleclick on the class box so that
  366. the Class Dialog Window appears. Then select the attribute or operation to be deleted by clicking to the left
  367. of the attribute's (or operation's) name or description field. The attribute will then be selected and the
  368. "Clear" item of the Edit menu will be enabled.
  369.  
  370. Event entries in state boxes can be deleted the same way as class attributes and operations.
  371.  
  372. 5.3 View Menu    
  373. The number of items in this menu depends upon the number of "View sets" that you have defined in the
  374. Special->Preferences->View... dialog (see below).
  375.  
  376. 5.4 Special Menu    
  377. This menu has five items: Info, Align, New Page, Delete Page and Preferences.
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388. "Info" will be enabled when one or several items in the currently active main window are selected. Choosing
  389. "Info" will present a dialog window for each of the selected items. The same dialog window will appear when
  390. doubleclicking on an item.
  391.  
  392. If you delete the last page in for example the Object Model, a new empty page will automatically be created
  393. since all models must have at least one page.
  394.  
  395. The preferences item has three submenus named "General...", "View..." and "Code generation...". The last
  396. item is never enabled in the current version since the code generation part is not yet implemented.
  397.  
  398. The "View..." item brings up a dialog that looks like this:
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428. You can specify which information stored in the document that shall be displayed. Normally one wants less
  429. information at an early stage of the project e.g. during the analysis phase than during the implementation
  430. phase. To support different "views" of a project, you can define your own set of "views". For each view
  431. (called Set) you specify what to be displayed. There is always a default view which cannot be deleted.
  432.  
  433.